13 research outputs found

    The PATS Problem : Search Methods and Reliability

    Get PDF
    This work studies an NP-hard combinatorial optimisation problem, the Pattern self-Assembly Tile set Synthesis (PATS) problem, which stems from the field of DNA self-assembly. In this problem, we are given a coloured rectangular pattern as input, and the task is to find a minimal set of unit square tiles that self-assemble that pattern in the abstract Tile Assembly Model (aTAM). We present two new search methods for the PATS problem: a heuristic algorithm that conducts a search in the lattice of partitions of the input grid, and a declarative approach that uses the Answer Set Programming (ASP) paradigm. The former is based on a previous algorithm by Göös and Orponen (DNA 2010), and performs better in finding relatively small solutions even for quite large input patterns. The latter proves to find the optimal solution quickly in cases where it is small. In addition to the search procedures, we develop a method for estimating the reliability of solutions to the PATS problem from a stochastic point of view. It turns out that tile sets found by our procedures, as well as small tile sets in general, have a higher probability of error-free assembly compared to those that can be found by previous methods

    A Classification of Weak Models of Distributed Computing

    Get PDF
    In this thesis we study the theoretical foundations of distributed computing. Distributed computing is concerned with graphs, where each node is a computing unit and runs the same algorithm. The graph serves both as a communication network and as an input for the algorithm. Each node communicates with adjacent nodes in a synchronous manner and eventually produces its own output. All the outputs together constitute a solution to a problem related to the structure of the graph. The main resource of interest is the amount of information that nodes need to exchange. Hence the running time of an algorithm is defined as the number of communication rounds; any amount of local computation is allowed. We introduce several models of distributed computing that are weaker versions of the well-established port-numbering model. In the port-numbering model, a node of degree d has d input ports and d output ports, both numbered with 1, 2, ..., d such that the port numbers are consistent. We denote by VVc the class of all graph problems that can be solved in this model. We define the following subclasses of VVc, corresponding to the weaker models: VV: Input and output port numbers are not necessarily consistent. MV: Input ports are not numbered; nodes receive a multiset of messages. SV: Input ports are not numbered; nodes receive a set of messages. VB: Output ports are not numbered; nodes broadcast the same message to all neighbours. MB: Combination of MV and VB. SB: Combination of SV and VB. This thesis presents a complete classification of the computational power of the models. We prove that the corresponding complexity classes form the following linear order: SB ⊈ MB = VB ⊈ SV = MV = VV ⊈ VVc. To prove SV = MV, we show that any algorithm receiving a multiset of messages can be simulated by an algorithm that receives only a set of messages. The simulation causes an additive overhead of 2∆ - 2 communication rounds, where ∆ is an upper bound for the maximum degree of the graph. As a new result, we prove that the simulation is optimal: it is not possible to achieve a simulation overhead smaller than 2∆ - 2. Furthermore, we construct a graph problem that can be solved in one round of communication by an algorithm receiving a multiset of messages, but requires at least ∆ rounds when solved by an algorithm receiving only a set of messages.Tämä tutkielma käsittelee hajautetun laskennan teoreettisia perusteita. Hajautetussa laskennassa tarkastellaan verkkoja, joissa jokainen solmu on laskentayksikkö ja suorittaa samaa algoritmia. Verkko määrittelee solmujen väliset kommunikaatioyhteydet ja on samalla syöte algoritmille. Kukin solmu kommunikoi viereisten solmujen kanssa synkronisesti ja tuottaa lopulta oman tulosteensa. Solmujen tulosteet yhdessä muodostavat ratkaisun johonkin verkon rakenteeseen liittyvään ongelmaan. Tärkein algoritmien käyttämä resurssi on siirrettävän informaation määrä. Näin ollen algoritmin ajoaika määritellään kommunikaatiokierrosten lukumääräksi; solmut voivat tehdä mielivaltaisen paljon paikallista laskentaa. Tutkielmassa esitellään useita hajautetun laskennan malleja, jotka ovat heikompia versioita paljon tutkitusta porttinumerointimallista. Porttinumerointimallissa asteluvun d solmulla on d tulevaa porttia ja d lähtevää porttia, ja molemmat on numeroitu luvuilla 1, 2, ..., d siten, että tulevien ja lähtevien porttien numerointi on konsistentti. Kaikkien tässä mallissa ratkeavien verkko-ongelmien luokasta käytetään merkintää VVc. Työssä määritellään seuraavat luokan VVc aliluokat, jotka vastaavat heikompia laskennan malleja: VV: Tulevien ja lähtevien porttien numerointi ei ole välttämättä konsistentti. MV: Tulevia portteja ei ole numeroitu; solmut vastaanottavat monijoukon viestejä. SV: Tulevia portteja ei ole numeroitu; solmut vastaanottavat joukon viestejä. VB: Lähteviä portteja ei ole numeroitu; solmut lähettävät saman viestin kaikille naapureilleen. MB: Luokkien MV ja VB yhdistelmä. SB: Luokkien SV ja VB yhdistelmä. Tässä tutkielmassa esitetään mallien laskennallisen voiman täydellinen luokittelu. Malleja vastaavien vaativuusluokkien todistetaan muodostavan seuraavan lineaarisen järjestyksen: SB ⊈ MB = VB ⊈ SV = MV = VV ⊈ VVc. Yhtälön SV = MV todistamiseksi osoitetaan, että mitä tahansa algoritmia, joka vastaanottaa monijoukon viestejä, voi simuloida algoritmilla, joka vastaanottaa vain joukon viestejä. Simulaatio kasvattaa ajoaikaa 2∆ - 2 kommunikaatiokierroksella, jossa ∆ on yläraja verkon maksimiasteluvulle. Uutena tuloksena tutkielmassa todistetaan, että simulaatiotulos on optimaalinen: lisäkierroksia tarvitaan vähintään 2∆ - 2. Lisäksi määritellään verkko-ongelma, joka voidaan ratkaista yhdessä kommunikaatiokierroksessa monijoukon viestejä vastaanottavalla algoritmilla, mutta joka vaatii vähintään ∆ kierrosta, kun se ratkaistaan vain joukon viestejä vastaanottavalla algoritmilla

    New Classes of Distributed Time Complexity

    Full text link
    A number of recent papers -- e.g. Brandt et al. (STOC 2016), Chang et al. (FOCS 2016), Ghaffari & Su (SODA 2017), Brandt et al. (PODC 2017), and Chang & Pettie (FOCS 2017) -- have advanced our understanding of one of the most fundamental questions in theory of distributed computing: what are the possible time complexity classes of LCL problems in the LOCAL model? In essence, we have a graph problem Π\Pi in which a solution can be verified by checking all radius-O(1)O(1) neighbourhoods, and the question is what is the smallest TT such that a solution can be computed so that each node chooses its own output based on its radius-TT neighbourhood. Here TT is the distributed time complexity of Π\Pi. The time complexity classes for deterministic algorithms in bounded-degree graphs that are known to exist by prior work are Θ(1)\Theta(1), Θ(logn)\Theta(\log^* n), Θ(logn)\Theta(\log n), Θ(n1/k)\Theta(n^{1/k}), and Θ(n)\Theta(n). It is also known that there are two gaps: one between ω(1)\omega(1) and o(loglogn)o(\log \log^* n), and another between ω(logn)\omega(\log^* n) and o(logn)o(\log n). It has been conjectured that many more gaps exist, and that the overall time hierarchy is relatively simple -- indeed, this is known to be the case in restricted graph families such as cycles and grids. We show that the picture is much more diverse than previously expected. We present a general technique for engineering LCL problems with numerous different deterministic time complexities, including Θ(logαn)\Theta(\log^{\alpha}n) for any α1\alpha\ge1, 2Θ(logαn)2^{\Theta(\log^{\alpha}n)} for any α1\alpha\le 1, and Θ(nα)\Theta(n^{\alpha}) for any α<1/2\alpha <1/2 in the high end of the complexity spectrum, and Θ(logαlogn)\Theta(\log^{\alpha}\log^* n) for any α1\alpha\ge 1, 2Θ(logαlogn)\smash{2^{\Theta(\log^{\alpha}\log^* n)}} for any α1\alpha\le 1, and Θ((logn)α)\Theta((\log^* n)^{\alpha}) for any α1\alpha \le 1 in the low end; here α\alpha is a positive rational number

    Weak models of distributed computing, with connections to modal logic

    Get PDF
    This work presents a classification of weak models of distributed computing. We focus on deterministic distributed algorithms, and we study models of computing that are weaker versions of the widely-studied port-numbering model. In the port-numbering model, a node of degree d receives messages through d input ports and it sends messages through d output ports, both numbered with 1, 2,..., d. In this work, VVc is the class of all graph problems that can be solved in the standard port-numbering model. We study the following subclasses of VVc: VV: Input port i and output port i are not necessarily connected to the same neighbour. MV: Input ports are not numbered; algorithms receive a multiset of messages. SV: Input ports are not numbered; algorithms receive a set of messages. VB: Output ports are not numbered; algorithms send the same message to all output ports. MB: Combination of MV and VB. SB: Combination of SV and VB. Now we have many trivial containment relations, such as SB ⊆ MB ⊆ VB ⊆ VV ⊆ VVc, but it is not obvious if, e.g., either of VB ⊆ SV or SV ⊆ VB should hold. Nevertheless, it turns out that we can identify a linear order on these classes. We prove that SB � MB = VB � SV = MV = VV � VVc. The same holds for the constant-time versions of these classes. We also show that the constant-time variants of these classes can be characterised by a corresponding modal logic. Hence the linear order identified in this work has direct implications in the study of the expressibility of modal logic. Conversely, we can use tools from modal logic to study these classes

    Logiikka ja vaativuus hajautetussa laskennassa

    No full text
    This dissertation studies the theory of distributed computing. In the distributed setting, computation is carried out by multiple independent computational units. They communicate with neighbouring units and collectively solve a problem. Systems of this kind are widespread in the information society as well as in the natural world: prime examples include the Internet, multi-processor computer systems, the cells of a biological organism and human social networks. Therefore it is important to gain knowledge on the fundamental capabilities and limitations of distributed systems. Our work takes place in the context of deterministic and synchronous message-passing models of distributed computing. Such models abstract away some possible features of distributed systems, such as asynchrony, congestion and faults, while putting emphasis on the amount of communication needed between the units. The computational units are expected to solve a problem related to the structure of the underlying communication network. More specifically, we study the standard LOCAL model, the standard port-numbering model and several weaker variants of the latter. The contributions of this dissertation are two-fold. First, we give new methods for studying distributed computing by establishing a strong connection between several weak variants of the port-numbering model and corresponding variants of modal logic. This makes it possible to apply existing logical tools, such as bisimulation, to understand computation in the distributed setting. We also give a full characterisation of the relationships between the models of computing, which has implications on the side of mathematical logic. Second, we prove the existence of various new non-empty complexity classes. One of our results studies the relationship between time and space complexity, which is a relatively new topic in distributed computing research. We demonstrate the existence of a problem that can be solved in a constant amount of space in a very weak model but nonetheless requires a non-constant amount of time even in a much stronger model of computing. Another result continues the recent success on developing complexity theory for the LOCAL model. We introduce a new technique which shows the existence of an infinite hierarchy of problems with novel time complexities.Tässä väitöskirjassa tutkitaan hajautetun laskennan teoriaa. Hajautetussa tilanteessa laskentaa suorittavat useat itsenäiset laskentayksiköt. Ne kommunikoivat viereisten laskentayksiköiden kanssa ja yhdessä tuottavat ratkaisun johonkin ongelmaan. Tällaisia järjestelmiä esiintyy laajalti niin tietoyhteiskunnassa kuin luonnossakin: hyviä esimerkkejä ovat Internet, usean suorittimen tietokonejärjestelmät, biologisen organismin solut tai vaikkapa ihmisten muodostamat sosiaaliset verkostot. Siksi on tärkeää saada tietoa tällaisten järjestelmien perustavanlaatuisista kyvyistä ja rajoituksista. Tässä työssä keskitytään hajautettuun laskentaan deterministissä ja synkronisissa viestinvälitysmalleissa. Tällaiset mallit jättävät huomiotta jotkin mahdolliset hajautettujen järjestelmien ominaisuudet, esimerkiksi asynkronian, ruuhkautumisen ja vikaantumisen, ja niiden sijaan korostavat tarvittavaa laskentayksiköiden välisen kommunikaation määrää. Yksiköiden odotetaan ratkaisevan ongelman, joka koskee järjestelmän pohjalla olevan kommunikaatioverkon rakennetta. Tarkalleen ottaen työssä tutkitaan paljon tutkittuja LOCAL- ja porttinumerointimalleja sekä useita viimeksi mainitun mallin heikompia variantteja. Väitöskirjalla on kaksi päätulosta. Ensiksi työssä esitellään uusia menetelmiä hajautetun laskennan tutkimiseen todistamalla vahva yhteys useiden porttinumerointimallin heikkojen varianttien ja vastaavien modaalilogiikan varianttien välille. Tämä mahdollistaa olemassaolevien logiikan välineiden, esimerkiksi bisimulaation, soveltamisen hajautetun laskennan ymmärtämiseen. Lisäksi työssä karakterisoidaan täydellisesti näiden laskennan mallien väliset suhteet, millä on seurauksia myös matemaattisen logiikan alueella. Toiseksi väitöskirjassa osoitetaan useiden uusien epätyhjien vaativuusluokkien olemassaolo. Yhdessä tuloksista tutkitaan aika- ja tilavaativuuden välistä suhdetta, joka on varsin uusi aihe hajautetun laskennan tutkimuksessa. Tulos osoittaa, että on olemassa ongelma, joka voidaan ratkaista vakiotilassa hyvin heikossa laskennan mallissa mutta joka vaatii vakiota suuremman määrän aikaa, vaikka laskennan malli olisi paljon vahvempi. Toinen tulos jatkaa viimeaikaista menestyksekästä vaativuusteorian kehittämistä LOCAL-mallille. Työssä esitellään uusi tekniikka, jonka avulla voidaan muodostaa ääretön hierarkia ongelmia, jotka kuuluvat uusiin aikavaativuusluokkiin
    corecore